1. Field of the Invention
The present invention relates to color processing for generating a color conversion table for a printer.
1. Description of the Related Art
An image output device such as a printer or the like performs color conversion of a color space (to be referred to as “input color space” hereinafter) of image data input from an image input device into a color space (to be referred to as “output color space” hereinafter) of the output device using a lookup table (LUT) or the like upon outputting an image.
When the LUT is generated, the gamut of the output device must be colorimetrically measured for mapping processing onto the gamut. Taking a printer as an example, input signals (patch data) which are divided to have values at equal intervals are generated to print patches on a print sheet based on the patch data, and the patches are colorimetrically measured. In this way, the chromaticities of outputs corresponding to the input signals on grid points can be detected. In order to detect a chromaticity corresponding to an input signal which is not located on a grid point, known interpolation processing such as linear interpolation, tetrahedral interpolation, cubic interpolation, or the like is done to predict that chromaticity value.
FIG. 1 is a view for explaining the sequence for performing linear interpolation of a chromaticity value corresponding to an input signal which is not located on a grid point.
Referring to FIG. 1, a point G1 is a grid point having an input RGB value=(0, 0, 128), and a point G2 is a grid point having an input RGB value=(0, 0, 64). The chromaticity (Lab value as output value) of a point P located at the middle of these grid points G1 and G2, i.e., that having an input RGB value (0, 0, 96), is calculated. Note that the output value of the grid point G1 is (L1, a1, b1), and that of the grid point G2 is (L2, a2, b2).
As shown in FIG. 1, the point P is located at the middle of the grid points G1 and G2, and a distance d1 between the grid point G1 and point P is equal to a distance d2 between the grid point G2 and point P (d1:d2=1:1). Therefore, the chromaticity (Lp, ap, bp) of the point P is calculated using the ratio of the distances as a weight as follows:Lp={(L1×d2)+(L2×d1)}/(d1+d2)ap={(a1×d2)+(a2×d1)}/(d1+d2)bp={(b1×d2)+(b2×d1)}/(d1+d2)
As described by the above equations, the output value of the point P is calculated by giving a larger weight to output values of closer grid points. Since d1:d2=1:1 in the example shown in FIG. 1, the above equations can be rewritten by:Lp=(L1+L2)/2ap=(a1+a2)/2bp=(b1+b2)/2These equations are equivalent to those which simply calculate the average values of the output values of the grid points G1 and G2.
In this way, the linear interpolation calculates the output value of a given input point by simple calculations using the output values of a plurality of grid points that sandwich the input point, and the distances between the input point and the grid points.
FIG. 2 shows an example between the correspondence between the input RGB values of 125 grid points obtained by dividing input signals at equal intervals and the Lab values of colorimetry results. The input RGB values have five stages in 64-increments, and the number of data is 53=125. When the grid intervals are halved by setting the input RGB values in 32-increments (nine stages), the number of data increases to 93=729. In this case, when the linear interpolation is used, the output value of a new grid point can be calculated as the average of the output values of two grid points included in the 125 grid points.
Accurate mapping can be done with increasing number of pieces of chromaticity information of the gamut of a device. However, in order to obtain pieces of chromaticity information that can cover all the gamut of the device, a huge number of patches must be printed and colorimetrically measured, resulting in impractical processing. Hence, in order to increase the number of pieces of chromaticity information of the gamut of the device, the aforementioned interpolation technique is used.
Meanwhile, a thermal head printer or the like can hardly form patches having the same chromaticities due to accumulation of heat in a print head or the like even when it receives and print identical data. As a result, if such patches are colorimetrically measured, it is difficult to obtain the colorimetric values of the strictly same results. By merely replacing the arrangement order of patches or changing the patch size (area), colorimetric values often change largely. Not only with the thermal head printer but also with an electrophotographic printer, when patches are separately printed on a plurality of charts and are colorimetrically measured, for example, colorimetric values are often different on the first and second sheets.
Therefore, data obtained by separately printing patches on a plurality of charts and joining their colorimetry results have poor reliability. That is, it is desirable to print patches used to measure the gamut of the output device on a single chart (print sheet).
Japanese Patent Laid-Open No. 11-112822 discloses the following technique. That is, patches are printed by a printer and are colorimetrically measured, and CMY coordinate values corresponding to RGB grid points are estimated by linear interpolation using their correspondence. Then, RGB grid points are calculated by nonlinear interpolation based on the estimated CMY coordinate values, and the estimated CMY coordinate values are corrected by subtracting the differences of the RGB grid points, thus obtaining the CMY coordinate values accurately corresponding to the RGB grid points.
In this way, by obtaining pieces of chromaticity information of the gamut of the output device as much as possible, accurate mapping can be done. However, when the output device prints using dark color materials and light color materials, a dark part of the output color space includes switching regions from light color materials to dark color materials, mixture regions of a plurality of color materials, and the like. Preferred prediction results of colors of such regions cannot be obtained by the above color prediction based on interpolation. Note that the dark color materials include, e.g., color materials of cyan, magenta, yellow, and black, and the light color materials include, e.g., color materials of light magenta and light cyan.
Especially, in the thermal head printer, in order to prevent changes in color due to heat accumulation, it is desirable to print patches on a single print sheet, and an increase in the number of pieces of chromaticity information is not easy.